/*
 * Identificadores.cpp
 *
 */

#include "Instancia.h"

Instancia::Instancia() {
}

Instancia::~Instancia() {
}

unsigned int Instancia::obtenerIdBretel(){

	unsigned int numeroID;

	std::ifstream archivo("./src/Identificadores/ArchivoIDs", std::ios::binary);
	archivo.read(reinterpret_cast<char*>(&numeroID), sizeof(unsigned int));
	archivo.close();
	return numeroID;

}

unsigned int Instancia::obtenerIdTintura(){

	unsigned int numeroID;

	std::ifstream archivo("./src/Identificadores/ArchivoIDs", std::ios::binary);
	archivo.seekg(4, ios::beg);
	archivo.read(reinterpret_cast<char*>(&numeroID), sizeof(unsigned int));

	archivo.close();
	return numeroID;
}

unsigned int Instancia::obtenerIdMaterial(){

	unsigned int numeroID;

	std::ifstream archivo("./src/Identificadores/ArchivoIDs", std::ios::binary);
	archivo.seekg(8, ios::beg);
	archivo.read(reinterpret_cast<char*>(&numeroID), sizeof(unsigned int));

	archivo.close();
	return numeroID;
}

unsigned int Instancia::obtenerIdFormador(){

	unsigned int numeroID;

	std::ifstream archivo("./src/Identificadores/ArchivoIDs", std::ios::binary);
	archivo.seekg(12, ios::beg);
	archivo.read(reinterpret_cast<char*>(&numeroID), sizeof(unsigned int));

	archivo.close();
	return numeroID;
}

unsigned int Instancia::obtenerIdCopa(){

	unsigned int numeroID;

	std::ifstream archivo("./src/Identificadores/ArchivoIDs", std::ios::binary);
	archivo.seekg(16, ios::beg);
	archivo.read(reinterpret_cast<char*>(&numeroID), sizeof(unsigned int));

	archivo.close();
	return numeroID;
}

unsigned int Instancia::obtenerIdVentas(){

	unsigned int numeroID;

	std::ifstream archivo("./src/Identificadores/ArchivoIDs", std::ios::binary);
	archivo.seekg(20, ios::beg);
	archivo.read(reinterpret_cast<char*>(&numeroID), sizeof(unsigned int));

	archivo.close();
	return numeroID;
}

unsigned int Instancia::obtenerIdFamilia(){

	unsigned int numeroID;

	std::ifstream archivo("./src/Identificadores/ArchivoIDs", std::ios::binary);
	archivo.seekg(24, ios::beg);
	archivo.read(reinterpret_cast<char*>(&numeroID), sizeof(unsigned int));

	archivo.close();
	return numeroID;
}

unsigned int Instancia::obtenerIdCorpinio(){

	unsigned int numeroID;

	std::ifstream archivo("./src/Identificadores/ArchivoIDs", std::ios::binary);
	archivo.seekg(28, ios::beg);
	archivo.read(reinterpret_cast<char*>(&numeroID), sizeof(unsigned int));

	archivo.close();
	return numeroID;
}

void Instancia::incrementarIdBretel(){

	unsigned int numeroID;
	fstream archivo ("./src/Identificadores/ArchivoIDs", ios::in | ios::out| ios::binary);

	archivo.seekg(0, ios::beg);
	archivo.read(reinterpret_cast<char*>(&numeroID), sizeof(unsigned int));
	numeroID++;
	archivo.seekp(0, ios::beg);
	archivo.write(reinterpret_cast<const char *>(&numeroID),
				sizeof(unsigned int));
	archivo.close();

}

void Instancia::incrementarIdTintura(){

	unsigned int numeroID;
	fstream archivo ("./src/Identificadores/ArchivoIDs", ios::in | ios::out| ios::binary);

	archivo.seekg(4, ios::beg);
	archivo.read(reinterpret_cast<char*>(&numeroID), sizeof(unsigned int));
	numeroID++;
	archivo.seekp(4, ios::beg);
	archivo.write(reinterpret_cast<const char *>(&numeroID),
				sizeof(unsigned int));
	archivo.close();
}

void Instancia::incrementarIdMaterial(){

	unsigned int numeroID;
	fstream archivo ("./src/Identificadores/ArchivoIDs", ios::in | ios::out| ios::binary);

	archivo.seekg(8, ios::beg);
	archivo.read(reinterpret_cast<char*>(&numeroID), sizeof(unsigned int));
	numeroID++;
	archivo.seekp(8, ios::beg);
	archivo.write(reinterpret_cast<const char *>(&numeroID),
				sizeof(unsigned int));
	archivo.close();
}

void Instancia::incrementarIdFormador(){

	unsigned int numeroID;
	fstream archivo ("./src/Identificadores/ArchivoIDs", ios::in | ios::out| ios::binary);

	archivo.seekg(12, ios::beg);
	archivo.read(reinterpret_cast<char*>(&numeroID), sizeof(unsigned int));
	numeroID++;
	archivo.seekp(12, ios::beg);
	archivo.write(reinterpret_cast<const char *>(&numeroID),
				sizeof(unsigned int));
	archivo.close();
}

void Instancia::incrementarIdCopa(){

	unsigned int numeroID;
	fstream archivo ("./src/Identificadores/ArchivoIDs", ios::in | ios::out| ios::binary);

	archivo.seekg(16, ios::beg);
	archivo.read(reinterpret_cast<char*>(&numeroID), sizeof(unsigned int));
	numeroID++;
	archivo.seekp(16, ios::beg);
	archivo.write(reinterpret_cast<const char *>(&numeroID),
				sizeof(unsigned int));
	archivo.close();
}

void Instancia::incrementarIdVentas(){

	unsigned int numeroID;
	fstream archivo ("./src/Identificadores/ArchivoIDs", ios::in | ios::out| ios::binary);

	archivo.seekg(20, ios::beg);
	archivo.read(reinterpret_cast<char*>(&numeroID), sizeof(unsigned int));
	numeroID++;
	archivo.seekp(20, ios::beg);
	archivo.write(reinterpret_cast<const char *>(&numeroID),
				sizeof(unsigned int));
	archivo.close();
}

void Instancia::incrementarIdFamilia(){

	unsigned int numeroID;
	fstream archivo ("./src/Identificadores/ArchivoIDs", ios::in | ios::out| ios::binary);

	archivo.seekg(24, ios::beg);
	archivo.read(reinterpret_cast<char*>(&numeroID), sizeof(unsigned int));
	numeroID++;
	archivo.seekp(24, ios::beg);
	archivo.write(reinterpret_cast<const char *>(&numeroID),
				sizeof(unsigned int));
	archivo.close();
}

void Instancia::incrementarIdCorpinio(){

	unsigned int numeroID;
	fstream archivo ("./src/Identificadores/ArchivoIDs", ios::in | ios::out | ios::binary);

	archivo.seekg(28, ios::beg);
	archivo.read(reinterpret_cast<char*>(&numeroID), sizeof(unsigned int));
	numeroID++;
	archivo.seekp(28, ios::beg);
	archivo.write(reinterpret_cast<const char *>(&numeroID),
				sizeof(unsigned int));
	archivo.close();
}

void Instancia::agregar(){

   //este metodo ponelo asi, yo despues reemplazo por lo mio
   cout <<"Modificando Instancia.." << endl;
}

void Instancia::modificar(){
    cout <<"Modificando Instancia.." << endl;
}
void Instancia::eliminar(){
    cout <<"Eliminando Instancia.." << endl;
}
void Instancia::listar(){
    cout <<"Listando Instancia.." << endl;
}
void Instancia::buscarPorID(){
    cout <<"Buscar Instancia por ID.." << endl;
}
void Instancia::admIndicesSecundarios(){
    cout <<"Administrar Indices Secundario.." << endl;

}
